Appendix I

 Prograph Data Types

 t List of Data Types
 t Descriptions

Please also refer to appendix IV, “Syntax and Semantics.”

t
List of Data Types  *517*

boolean
integer
list
macintosh
none
null
real
string
undefined

t
Descriptions  *517*

_______________________________________
boolean  
---------------------------------------

Values:   TRUE | FALSE

Description:   Generated by any boolean primitive (for example, <, =, string?), if it has an output. Note that without an output, such an operation either succeeds or fails. 

_______________________________________
integer  *518*
---------------------------------------

Values:   from -2,147,483,648 to 2,147,483,647

Description:   The following belong to this type:  

 o  a decimal

 o  any number base (indicated as base#) from 2 to 32

 o  a 1,2,4 byte ASCII

Examples:  
123 | 8#173 | 'a' | 'EQ' | 'STR' 

_______________________________________
list  *518*
---------------------------------------

Values:   (<any> ......) with up to 65,535 elements in the interpreter, 4,294,967,295 in the compiler.

Examples:  
() | (a b (c (d))) | (a 123 TRUE)

_______________________________________
macintosh  *518*
---------------------------------------

Values:   vertical horizontal | top left bottom right | <MacType>

Description:   vertical horizontal is of type Point and top left bottom right is of type Rect. Vertical, horizontal, top, left, bottom, and right are of type integer.

 MacType denotes any supported Macintosh type (such as MacType[@[@]address]).
Examples:  
1 2 | 20 20 50 50 | WindowRecord@16#13579

_______________________________________

none  *518*
---------------------------------------

Values:   NONE

Description:   Generated by Prograph when a terminal with no datalink attached is encountered during execution. This value is not accumulated on a List root of a calling repeat operation.

_______________________________________

null  *519*
---------------------------------------

Values:   NULL

Description:   Default value on a newly created attribute, persistent, constant, or match; produced by Prograph search primitive when the search has been unsuccessful.

_______________________________________

real  *519*
---------------------------------------

Values:   from -1.1E4932 to 1.1E4932

Description:   The following belong to this type:  

 o  a decimal

 o  an exponential

Examples:   1.2 | 1.80445227 E-1 | 2.0E3

_______________________________________

string  *519*
---------------------------------------

Values:   any string of typeable characters, up to 65,535 long in the interpreter, 4,294,967,295 in the compiler.

Examples:   Hello | "This is a string"

_______________________________________
undefined  *519*
---------------------------------------

Values:   UNDEFINED

Description:   Generated by Prograph when an operation is skipped during execution.